package org.omg.bpmn.miwg.scan; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import javax.json.Json; import javax.json.JsonArray; import javax.json.JsonObject; import javax.json.JsonReader; import javax.json.JsonValue; /** * Convenience class that reads the JSON configuration of tools for whom * submissions exist and expose it in simple convenient methods. * * @author Tim Stephenson */ public class ToolsUnderTestHelper { public static final String TOOLS_TESTED = "/tools-tested-by-miwg.json"; public List<String> getToolVsnNames() { List<String> toolNames = new ArrayList<String>(); InputStream is = null; try { is = getClass().getResourceAsStream(ToolsUnderTestHelper.TOOLS_TESTED); JsonReader reader = Json.createReader(new InputStreamReader(is)); JsonObject rootObj = reader.readObject(); JsonArray toolsArr = rootObj.getJsonArray("tools"); for (JsonValue v : toolsArr) { JsonObject tool = (JsonObject) v; String toolFolderName = tool.getString("tool") + " " + tool.getString("version"); toolNames.add(toolFolderName); } } catch (Exception e) { System.err.println(e.getClass().getName() + ":" + e.getMessage()); throw e; } return toolNames; } }